
play:     file format elf64-x86-64


Disassembly of section .init:

0000000000001000 <_init>:
    1000:	f3 0f 1e fa          	endbr64 
    1004:	48 83 ec 08          	sub    $0x8,%rsp
    1008:	48 8b 05 d9 2f 00 00 	mov    0x2fd9(%rip),%rax        # 3fe8 <__gmon_start__>
    100f:	48 85 c0             	test   %rax,%rax
    1012:	74 02                	je     1016 <_init+0x16>
    1014:	ff d0                	callq  *%rax
    1016:	48 83 c4 08          	add    $0x8,%rsp
    101a:	c3                   	retq   

Disassembly of section .plt:

0000000000001020 <.plt>:
    1020:	ff 35 52 2f 00 00    	pushq  0x2f52(%rip)        # 3f78 <_GLOBAL_OFFSET_TABLE_+0x8>
    1026:	f2 ff 25 53 2f 00 00 	bnd jmpq *0x2f53(%rip)        # 3f80 <_GLOBAL_OFFSET_TABLE_+0x10>
    102d:	0f 1f 00             	nopl   (%rax)
    1030:	f3 0f 1e fa          	endbr64 
    1034:	68 00 00 00 00       	pushq  $0x0
    1039:	f2 e9 e1 ff ff ff    	bnd jmpq 1020 <.plt>
    103f:	90                   	nop
    1040:	f3 0f 1e fa          	endbr64 
    1044:	68 01 00 00 00       	pushq  $0x1
    1049:	f2 e9 d1 ff ff ff    	bnd jmpq 1020 <.plt>
    104f:	90                   	nop
    1050:	f3 0f 1e fa          	endbr64 
    1054:	68 02 00 00 00       	pushq  $0x2
    1059:	f2 e9 c1 ff ff ff    	bnd jmpq 1020 <.plt>
    105f:	90                   	nop
    1060:	f3 0f 1e fa          	endbr64 
    1064:	68 03 00 00 00       	pushq  $0x3
    1069:	f2 e9 b1 ff ff ff    	bnd jmpq 1020 <.plt>
    106f:	90                   	nop
    1070:	f3 0f 1e fa          	endbr64 
    1074:	68 04 00 00 00       	pushq  $0x4
    1079:	f2 e9 a1 ff ff ff    	bnd jmpq 1020 <.plt>
    107f:	90                   	nop
    1080:	f3 0f 1e fa          	endbr64 
    1084:	68 05 00 00 00       	pushq  $0x5
    1089:	f2 e9 91 ff ff ff    	bnd jmpq 1020 <.plt>
    108f:	90                   	nop
    1090:	f3 0f 1e fa          	endbr64 
    1094:	68 06 00 00 00       	pushq  $0x6
    1099:	f2 e9 81 ff ff ff    	bnd jmpq 1020 <.plt>
    109f:	90                   	nop
    10a0:	f3 0f 1e fa          	endbr64 
    10a4:	68 07 00 00 00       	pushq  $0x7
    10a9:	f2 e9 71 ff ff ff    	bnd jmpq 1020 <.plt>
    10af:	90                   	nop
    10b0:	f3 0f 1e fa          	endbr64 
    10b4:	68 08 00 00 00       	pushq  $0x8
    10b9:	f2 e9 61 ff ff ff    	bnd jmpq 1020 <.plt>
    10bf:	90                   	nop
    10c0:	f3 0f 1e fa          	endbr64 
    10c4:	68 09 00 00 00       	pushq  $0x9
    10c9:	f2 e9 51 ff ff ff    	bnd jmpq 1020 <.plt>
    10cf:	90                   	nop

Disassembly of section .plt.got:

00000000000010d0 <__cxa_finalize@plt>:
    10d0:	f3 0f 1e fa          	endbr64 
    10d4:	f2 ff 25 1d 2f 00 00 	bnd jmpq *0x2f1d(%rip)        # 3ff8 <__cxa_finalize@GLIBC_2.2.5>
    10db:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

Disassembly of section .plt.sec:

00000000000010e0 <puts@plt>:
    10e0:	f3 0f 1e fa          	endbr64 
    10e4:	f2 ff 25 9d 2e 00 00 	bnd jmpq *0x2e9d(%rip)        # 3f88 <puts@GLIBC_2.2.5>
    10eb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

00000000000010f0 <fread@plt>:
    10f0:	f3 0f 1e fa          	endbr64 
    10f4:	f2 ff 25 95 2e 00 00 	bnd jmpq *0x2e95(%rip)        # 3f90 <fread@GLIBC_2.2.5>
    10fb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000001100 <write@plt>:
    1100:	f3 0f 1e fa          	endbr64 
    1104:	f2 ff 25 8d 2e 00 00 	bnd jmpq *0x2e8d(%rip)        # 3f98 <write@GLIBC_2.2.5>
    110b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000001110 <fclose@plt>:
    1110:	f3 0f 1e fa          	endbr64 
    1114:	f2 ff 25 85 2e 00 00 	bnd jmpq *0x2e85(%rip)        # 3fa0 <fclose@GLIBC_2.2.5>
    111b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000001120 <__stack_chk_fail@plt>:
    1120:	f3 0f 1e fa          	endbr64 
    1124:	f2 ff 25 7d 2e 00 00 	bnd jmpq *0x2e7d(%rip)        # 3fa8 <__stack_chk_fail@GLIBC_2.4>
    112b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000001130 <printf@plt>:
    1130:	f3 0f 1e fa          	endbr64 
    1134:	f2 ff 25 75 2e 00 00 	bnd jmpq *0x2e75(%rip)        # 3fb0 <printf@GLIBC_2.2.5>
    113b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000001140 <close@plt>:
    1140:	f3 0f 1e fa          	endbr64 
    1144:	f2 ff 25 6d 2e 00 00 	bnd jmpq *0x2e6d(%rip)        # 3fb8 <close@GLIBC_2.2.5>
    114b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000001150 <open@plt>:
    1150:	f3 0f 1e fa          	endbr64 
    1154:	f2 ff 25 65 2e 00 00 	bnd jmpq *0x2e65(%rip)        # 3fc0 <open@GLIBC_2.2.5>
    115b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000001160 <fopen@plt>:
    1160:	f3 0f 1e fa          	endbr64 
    1164:	f2 ff 25 5d 2e 00 00 	bnd jmpq *0x2e5d(%rip)        # 3fc8 <fopen@GLIBC_2.2.5>
    116b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000001170 <perror@plt>:
    1170:	f3 0f 1e fa          	endbr64 
    1174:	f2 ff 25 55 2e 00 00 	bnd jmpq *0x2e55(%rip)        # 3fd0 <perror@GLIBC_2.2.5>
    117b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

Disassembly of section .text:

0000000000001180 <_start>:
    1180:	f3 0f 1e fa          	endbr64 
    1184:	31 ed                	xor    %ebp,%ebp
    1186:	49 89 d1             	mov    %rdx,%r9
    1189:	5e                   	pop    %rsi
    118a:	48 89 e2             	mov    %rsp,%rdx
    118d:	48 83 e4 f0          	and    $0xfffffffffffffff0,%rsp
    1191:	50                   	push   %rax
    1192:	54                   	push   %rsp
    1193:	4c 8d 05 06 03 00 00 	lea    0x306(%rip),%r8        # 14a0 <__libc_csu_fini>
    119a:	48 8d 0d 8f 02 00 00 	lea    0x28f(%rip),%rcx        # 1430 <__libc_csu_init>
    11a1:	48 8d 3d 27 01 00 00 	lea    0x127(%rip),%rdi        # 12cf <main>
    11a8:	ff 15 32 2e 00 00    	callq  *0x2e32(%rip)        # 3fe0 <__libc_start_main@GLIBC_2.2.5>
    11ae:	f4                   	hlt    
    11af:	90                   	nop

00000000000011b0 <deregister_tm_clones>:
    11b0:	48 8d 3d 59 2e 00 00 	lea    0x2e59(%rip),%rdi        # 4010 <__TMC_END__>
    11b7:	48 8d 05 52 2e 00 00 	lea    0x2e52(%rip),%rax        # 4010 <__TMC_END__>
    11be:	48 39 f8             	cmp    %rdi,%rax
    11c1:	74 15                	je     11d8 <deregister_tm_clones+0x28>
    11c3:	48 8b 05 0e 2e 00 00 	mov    0x2e0e(%rip),%rax        # 3fd8 <_ITM_deregisterTMCloneTable>
    11ca:	48 85 c0             	test   %rax,%rax
    11cd:	74 09                	je     11d8 <deregister_tm_clones+0x28>
    11cf:	ff e0                	jmpq   *%rax
    11d1:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
    11d8:	c3                   	retq   
    11d9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

00000000000011e0 <register_tm_clones>:
    11e0:	48 8d 3d 29 2e 00 00 	lea    0x2e29(%rip),%rdi        # 4010 <__TMC_END__>
    11e7:	48 8d 35 22 2e 00 00 	lea    0x2e22(%rip),%rsi        # 4010 <__TMC_END__>
    11ee:	48 29 fe             	sub    %rdi,%rsi
    11f1:	48 89 f0             	mov    %rsi,%rax
    11f4:	48 c1 ee 3f          	shr    $0x3f,%rsi
    11f8:	48 c1 f8 03          	sar    $0x3,%rax
    11fc:	48 01 c6             	add    %rax,%rsi
    11ff:	48 d1 fe             	sar    %rsi
    1202:	74 14                	je     1218 <register_tm_clones+0x38>
    1204:	48 8b 05 e5 2d 00 00 	mov    0x2de5(%rip),%rax        # 3ff0 <_ITM_registerTMCloneTable>
    120b:	48 85 c0             	test   %rax,%rax
    120e:	74 08                	je     1218 <register_tm_clones+0x38>
    1210:	ff e0                	jmpq   *%rax
    1212:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
    1218:	c3                   	retq   
    1219:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

0000000000001220 <__do_global_dtors_aux>:
    1220:	f3 0f 1e fa          	endbr64 
    1224:	80 3d f5 2d 00 00 00 	cmpb   $0x0,0x2df5(%rip)        # 4020 <completed.8061>
    122b:	75 2b                	jne    1258 <__do_global_dtors_aux+0x38>
    122d:	55                   	push   %rbp
    122e:	48 83 3d c2 2d 00 00 	cmpq   $0x0,0x2dc2(%rip)        # 3ff8 <__cxa_finalize@GLIBC_2.2.5>
    1235:	00 
    1236:	48 89 e5             	mov    %rsp,%rbp
    1239:	74 0c                	je     1247 <__do_global_dtors_aux+0x27>
    123b:	48 8b 3d c6 2d 00 00 	mov    0x2dc6(%rip),%rdi        # 4008 <__dso_handle>
    1242:	e8 89 fe ff ff       	callq  10d0 <__cxa_finalize@plt>
    1247:	e8 64 ff ff ff       	callq  11b0 <deregister_tm_clones>
    124c:	c6 05 cd 2d 00 00 01 	movb   $0x1,0x2dcd(%rip)        # 4020 <completed.8061>
    1253:	5d                   	pop    %rbp
    1254:	c3                   	retq   
    1255:	0f 1f 00             	nopl   (%rax)
    1258:	c3                   	retq   
    1259:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

0000000000001260 <frame_dummy>:
    1260:	f3 0f 1e fa          	endbr64 
    1264:	e9 77 ff ff ff       	jmpq   11e0 <register_tm_clones>

0000000000001269 <audio_open>:
    1269:	f3 0f 1e fa          	endbr64 
    126d:	55                   	push   %rbp
    126e:	48 89 e5             	mov    %rsp,%rbp
    1271:	48 83 ec 10          	sub    $0x10,%rsp
    1275:	48 89 7d f8          	mov    %rdi,-0x8(%rbp)
    1279:	48 89 75 f0          	mov    %rsi,-0x10(%rbp)
    127d:	48 83 7d f0 00       	cmpq   $0x0,-0x10(%rbp)
    1282:	75 0b                	jne    128f <audio_open+0x26>
    1284:	48 8d 05 79 0d 00 00 	lea    0xd79(%rip),%rax        # 2004 <_IO_stdin_used+0x4>
    128b:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
    128f:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
    1293:	be 02 00 00 00       	mov    $0x2,%esi
    1298:	48 89 c7             	mov    %rax,%rdi
    129b:	b8 00 00 00 00       	mov    $0x0,%eax
    12a0:	e8 ab fe ff ff       	callq  1150 <open@plt>
    12a5:	89 05 95 2d 00 00    	mov    %eax,0x2d95(%rip)        # 4040 <audio_fd>
    12ab:	8b 05 8f 2d 00 00    	mov    0x2d8f(%rip),%eax        # 4040 <audio_fd>
    12b1:	85 c0                	test   %eax,%eax
    12b3:	79 13                	jns    12c8 <audio_open+0x5f>
    12b5:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
    12b9:	48 89 c7             	mov    %rax,%rdi
    12bc:	e8 af fe ff ff       	callq  1170 <perror@plt>
    12c1:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
    12c6:	eb 05                	jmp    12cd <audio_open+0x64>
    12c8:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
    12cd:	c9                   	leaveq 
    12ce:	c3                   	retq   

00000000000012cf <main>:
    12cf:	f3 0f 1e fa          	endbr64 
    12d3:	55                   	push   %rbp
    12d4:	48 89 e5             	mov    %rsp,%rbp
    12d7:	48 81 ec 00 10 00 00 	sub    $0x1000,%rsp
    12de:	48 83 0c 24 00       	orq    $0x0,(%rsp)
    12e3:	48 81 ec 00 10 00 00 	sub    $0x1000,%rsp
    12ea:	48 83 0c 24 00       	orq    $0x0,(%rsp)
    12ef:	48 81 ec 00 10 00 00 	sub    $0x1000,%rsp
    12f6:	48 83 0c 24 00       	orq    $0x0,(%rsp)
    12fb:	48 81 ec 00 10 00 00 	sub    $0x1000,%rsp
    1302:	48 83 0c 24 00       	orq    $0x0,(%rsp)
    1307:	64 48 8b 04 25 28 00 	mov    %fs:0x28,%rax
    130e:	00 00 
    1310:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
    1314:	31 c0                	xor    %eax,%eax
    1316:	48 8d 85 10 c0 ff ff 	lea    -0x3ff0(%rbp),%rax
    131d:	48 8d 35 e0 0c 00 00 	lea    0xce0(%rip),%rsi        # 2004 <_IO_stdin_used+0x4>
    1324:	48 89 c7             	mov    %rax,%rdi
    1327:	e8 3d ff ff ff       	callq  1269 <audio_open>
    132c:	48 8d 35 da 0c 00 00 	lea    0xcda(%rip),%rsi        # 200d <_IO_stdin_used+0xd>
    1333:	48 8d 3d d5 0c 00 00 	lea    0xcd5(%rip),%rdi        # 200f <_IO_stdin_used+0xf>
    133a:	e8 21 fe ff ff       	callq  1160 <fopen@plt>
    133f:	48 89 85 08 c0 ff ff 	mov    %rax,-0x3ff8(%rbp)
    1346:	48 83 bd 08 c0 ff ff 	cmpq   $0x0,-0x3ff8(%rbp)
    134d:	00 
    134e:	75 0c                	jne    135c <main+0x8d>
    1350:	48 8d 3d c1 0c 00 00 	lea    0xcc1(%rip),%rdi        # 2018 <_IO_stdin_used+0x18>
    1357:	e8 84 fd ff ff       	callq  10e0 <puts@plt>
    135c:	48 8d 3d c7 0c 00 00 	lea    0xcc7(%rip),%rdi        # 202a <_IO_stdin_used+0x2a>
    1363:	e8 78 fd ff ff       	callq  10e0 <puts@plt>
    1368:	c7 85 00 c0 ff ff 00 	movl   $0x0,-0x4000(%rbp)
    136f:	00 00 00 
    1372:	eb 77                	jmp    13eb <main+0x11c>
    1374:	48 8b 85 08 c0 ff ff 	mov    -0x3ff8(%rbp),%rax
    137b:	48 89 c1             	mov    %rax,%rcx
    137e:	ba e4 1f 00 00       	mov    $0x1fe4,%edx
    1383:	be 01 00 00 00       	mov    $0x1,%esi
    1388:	48 8d 3d d1 2c 00 00 	lea    0x2cd1(%rip),%rdi        # 4060 <buf>
    138f:	e8 5c fd ff ff       	callq  10f0 <fread@plt>
    1394:	8b 05 a6 2c 00 00    	mov    0x2ca6(%rip),%eax        # 4040 <audio_fd>
    139a:	ba e4 1f 00 00       	mov    $0x1fe4,%edx
    139f:	48 8d 35 ba 2c 00 00 	lea    0x2cba(%rip),%rsi        # 4060 <buf>
    13a6:	89 c7                	mov    %eax,%edi
    13a8:	e8 53 fd ff ff       	callq  1100 <write@plt>
    13ad:	89 85 04 c0 ff ff    	mov    %eax,-0x3ffc(%rbp)
    13b3:	8b 85 04 c0 ff ff    	mov    -0x3ffc(%rbp),%eax
    13b9:	89 c6                	mov    %eax,%esi
    13bb:	48 8d 3d 74 0c 00 00 	lea    0xc74(%rip),%rdi        # 2036 <_IO_stdin_used+0x36>
    13c2:	b8 00 00 00 00       	mov    $0x0,%eax
    13c7:	e8 64 fd ff ff       	callq  1130 <printf@plt>
    13cc:	81 bd 04 c0 ff ff e4 	cmpl   $0x1fe4,-0x3ffc(%rbp)
    13d3:	1f 00 00 
    13d6:	74 0c                	je     13e4 <main+0x115>
    13d8:	48 8d 3d 6c 0c 00 00 	lea    0xc6c(%rip),%rdi        # 204b <_IO_stdin_used+0x4b>
    13df:	e8 8c fd ff ff       	callq  1170 <perror@plt>
    13e4:	83 85 00 c0 ff ff 01 	addl   $0x1,-0x4000(%rbp)
    13eb:	83 bd 00 c0 ff ff 1d 	cmpl   $0x1d,-0x4000(%rbp)
    13f2:	7e 80                	jle    1374 <main+0xa5>
    13f4:	48 8b 85 08 c0 ff ff 	mov    -0x3ff8(%rbp),%rax
    13fb:	48 89 c7             	mov    %rax,%rdi
    13fe:	e8 0d fd ff ff       	callq  1110 <fclose@plt>
    1403:	8b 05 37 2c 00 00    	mov    0x2c37(%rip),%eax        # 4040 <audio_fd>
    1409:	89 c7                	mov    %eax,%edi
    140b:	e8 30 fd ff ff       	callq  1140 <close@plt>
    1410:	b8 00 00 00 00       	mov    $0x0,%eax
    1415:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
    1419:	64 48 33 0c 25 28 00 	xor    %fs:0x28,%rcx
    1420:	00 00 
    1422:	74 05                	je     1429 <main+0x15a>
    1424:	e8 f7 fc ff ff       	callq  1120 <__stack_chk_fail@plt>
    1429:	c9                   	leaveq 
    142a:	c3                   	retq   
    142b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000001430 <__libc_csu_init>:
    1430:	f3 0f 1e fa          	endbr64 
    1434:	41 57                	push   %r15
    1436:	4c 8d 3d 23 29 00 00 	lea    0x2923(%rip),%r15        # 3d60 <__frame_dummy_init_array_entry>
    143d:	41 56                	push   %r14
    143f:	49 89 d6             	mov    %rdx,%r14
    1442:	41 55                	push   %r13
    1444:	49 89 f5             	mov    %rsi,%r13
    1447:	41 54                	push   %r12
    1449:	41 89 fc             	mov    %edi,%r12d
    144c:	55                   	push   %rbp
    144d:	48 8d 2d 14 29 00 00 	lea    0x2914(%rip),%rbp        # 3d68 <__do_global_dtors_aux_fini_array_entry>
    1454:	53                   	push   %rbx
    1455:	4c 29 fd             	sub    %r15,%rbp
    1458:	48 83 ec 08          	sub    $0x8,%rsp
    145c:	e8 9f fb ff ff       	callq  1000 <_init>
    1461:	48 c1 fd 03          	sar    $0x3,%rbp
    1465:	74 1f                	je     1486 <__libc_csu_init+0x56>
    1467:	31 db                	xor    %ebx,%ebx
    1469:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
    1470:	4c 89 f2             	mov    %r14,%rdx
    1473:	4c 89 ee             	mov    %r13,%rsi
    1476:	44 89 e7             	mov    %r12d,%edi
    1479:	41 ff 14 df          	callq  *(%r15,%rbx,8)
    147d:	48 83 c3 01          	add    $0x1,%rbx
    1481:	48 39 dd             	cmp    %rbx,%rbp
    1484:	75 ea                	jne    1470 <__libc_csu_init+0x40>
    1486:	48 83 c4 08          	add    $0x8,%rsp
    148a:	5b                   	pop    %rbx
    148b:	5d                   	pop    %rbp
    148c:	41 5c                	pop    %r12
    148e:	41 5d                	pop    %r13
    1490:	41 5e                	pop    %r14
    1492:	41 5f                	pop    %r15
    1494:	c3                   	retq   
    1495:	66 66 2e 0f 1f 84 00 	data16 nopw %cs:0x0(%rax,%rax,1)
    149c:	00 00 00 00 

00000000000014a0 <__libc_csu_fini>:
    14a0:	f3 0f 1e fa          	endbr64 
    14a4:	c3                   	retq   

Disassembly of section .fini:

00000000000014a8 <_fini>:
    14a8:	f3 0f 1e fa          	endbr64 
    14ac:	48 83 ec 08          	sub    $0x8,%rsp
    14b0:	48 83 c4 08          	add    $0x8,%rsp
    14b4:	c3                   	retq   
